package com.czy.owner.entity;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * Created by wangyang on 2017/3/10 0010.
 */

public class PrePayBalancePaymentModel implements Serializable {

    /**
     * cardAmount : 0.0
     * payedDepositAmount : 11.0
     * totalPrice : 15.0
     * storeBalance : 11.0
     * allCoupons : false
     * userOrderId : 4679
     * timeCardList : [{"itemType":"cards","subItemType":"timeCard","cardName":"次卡组1","description":"次卡组描述","totalCount":2,"serviceName":"洗车1","userId":1069,"createTime":1489542348518,"price":20,"timeCardId":347,"storeServiceId":2222,"endTime":1489542348518,"itemTypeId":"347","cardNumber":"CRDT201703150945485185693","usedCount":0,"status":"normal"}]
     * serviceMap : {}
     * couponsAmount : 0.0
     * tailAmount : 4.0
     * cardCoupons : [558]
     * cycleCardList : [{"itemType":"cards","cycleCardId":145,"subItemType":"cycleCard","cardName":"周期卡组","description":"周期卡描述","totalCount":2,"serviceName":"钣金1","userId":1069,"createTime":1489542362421,"price":18,"storeServiceId":2226,"startTime":1489542362421,"endTime":1489617460533,"itemTypeId":"145","cardNumber":"CRDT201703150946024212015","usedCount":0,"status":"normal"}]
     * cash : false
     * couponsList : [{"createUserId":1049,"disCount":0.1,"couponsId":107,"description":"没有描述","couponsCode":"YHQDI201703141706014244198","serviceName":"服务名称","couponsName":"现金券","denomination":0,"userWalletId":555,"createTime":1489482361424,"storeServiceId":0,"endTime":1489542348518,"couponsGroupId":131,"minimum":10,"status":"normal","couponsType":"discountVoucher"},{"createUserId":1049,"disCount":1,"couponsId":109,"description":"发放备注","couponsCode":"YHQCA201703141707283846352","serviceName":null,"couponsName":"现金券","denomination":2000,"userWalletId":557,"createTime":1489482448384,"storeServiceId":0,"endTime":1511452800000,"couponsGroupId":130,"minimum":50,"status":"normal","couponsType":"cashVoucher"},{"createUserId":1049,"disCount":1,"couponsId":110,"description":"真坑","couponsCode":"YHQSE201703141708205647400","serviceName":"更换机油","couponsName":"现金券","denomination":0,"userWalletId":558,"createTime":1489482500564,"storeServiceId":2228,"endTime":1514390400000,"couponsGroupId":129,"minimum":0,"status":"normal","couponsType":"serviceVoucher"}]
     */

    private double cardAmount;
    private double payedDepositAmount;
    private double totalPrice;
    private double storeBalance;
    private boolean allCoupons;
    private int userOrderId;
    private Map<String,Double> serviceMap;
    private double couponsAmount;
    private double tailAmount;
    private boolean cash;
    private List<TimeCardListBean> timeCardList;
    private List<Integer> cardCoupons;
    private List<CycleCardListBean> cycleCardList;
    private List<CouponsListBean> couponsList;

    public double getCardAmount() {
        return cardAmount;
    }

    public void setCardAmount(double cardAmount) {
        this.cardAmount = cardAmount;
    }

    public double getPayedDepositAmount() {
        return payedDepositAmount;
    }

    public void setPayedDepositAmount(double payedDepositAmount) {
        this.payedDepositAmount = payedDepositAmount;
    }

    public double getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(double totalPrice) {
        this.totalPrice = totalPrice;
    }

    public double getStoreBalance() {
        return storeBalance;
    }

    public void setStoreBalance(double storeBalance) {
        this.storeBalance = storeBalance;
    }

    public boolean isAllCoupons() {
        return allCoupons;
    }

    public void setAllCoupons(boolean allCoupons) {
        this.allCoupons = allCoupons;
    }

    public int getUserOrderId() {
        return userOrderId;
    }

    public void setUserOrderId(int userOrderId) {
        this.userOrderId = userOrderId;
    }

    public Map<String, Double> getServiceMap() {
        return serviceMap;
    }

    public void setServiceMap(Map<String, Double> serviceMap) {
        this.serviceMap = serviceMap;
    }

    public double getCouponsAmount() {
        return couponsAmount;
    }

    public void setCouponsAmount(double couponsAmount) {
        this.couponsAmount = couponsAmount;
    }

    public double getTailAmount() {
        return tailAmount;
    }

    public void setTailAmount(double tailAmount) {
        this.tailAmount = tailAmount;
    }

    public boolean isCash() {
        return cash;
    }

    public void setCash(boolean cash) {
        this.cash = cash;
    }

    public List<TimeCardListBean> getTimeCardList() {
        return timeCardList;
    }

    public void setTimeCardList(List<TimeCardListBean> timeCardList) {
        this.timeCardList = timeCardList;
    }

    public List<Integer> getCardCoupons() {
        return cardCoupons;
    }

    public void setCardCoupons(List<Integer> cardCoupons) {
        this.cardCoupons = cardCoupons;
    }

    public List<CycleCardListBean> getCycleCardList() {
        return cycleCardList;
    }

    public void setCycleCardList(List<CycleCardListBean> cycleCardList) {
        this.cycleCardList = cycleCardList;
    }

    public List<CouponsListBean> getCouponsList() {
        return couponsList;
    }

    public void setCouponsList(List<CouponsListBean> couponsList) {
        this.couponsList = couponsList;
    }

    public static class TimeCardListBean implements Serializable {
        /**
         * itemType : cards
         * subItemType : timeCard
         * cardName : 次卡组1
         * description : 次卡组描述
         * totalCount : 2
         * serviceName : 洗车1
         * userId : 1069
         * createTime : 1489542348518
         * price : 20.0
         * timeCardId : 347
         * storeServiceId : 2222
         * endTime : 1489542348518
         * itemTypeId : 347
         * cardNumber : CRDT201703150945485185693
         * usedCount : 0
         * status : normal
         */

        private String itemType;
        private String subItemType;
        private String cardName;
        private String description;
        private int totalCount;
        private String serviceName;
        private int userId;
        private long createTime;
        private double price;
        private int timeCardId;
        private int storeServiceId;
        private long endTime;
        private String itemTypeId;
        private String cardNumber;
        private int usedCount;
        private String status;
        private int userWalletId;
        private boolean isPicked;

        public String getItemType() {
            return itemType;
        }

        public void setItemType(String itemType) {
            this.itemType = itemType;
        }

        public String getSubItemType() {
            return subItemType;
        }

        public void setSubItemType(String subItemType) {
            this.subItemType = subItemType;
        }

        public String getCardName() {
            return cardName;
        }

        public void setCardName(String cardName) {
            this.cardName = cardName;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public int getTotalCount() {
            return totalCount;
        }

        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }

        public String getServiceName() {
            return serviceName;
        }

        public void setServiceName(String serviceName) {
            this.serviceName = serviceName;
        }

        public int getUserId() {
            return userId;
        }

        public void setUserId(int userId) {
            this.userId = userId;
        }

        public long getCreateTime() {
            return createTime;
        }

        public void setCreateTime(long createTime) {
            this.createTime = createTime;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getTimeCardId() {
            return timeCardId;
        }

        public void setTimeCardId(int timeCardId) {
            this.timeCardId = timeCardId;
        }

        public int getStoreServiceId() {
            return storeServiceId;
        }

        public void setStoreServiceId(int storeServiceId) {
            this.storeServiceId = storeServiceId;
        }

        public long getEndTime() {
            return endTime;
        }

        public void setEndTime(long endTime) {
            this.endTime = endTime;
        }

        public String getItemTypeId() {
            return itemTypeId;
        }

        public void setItemTypeId(String itemTypeId) {
            this.itemTypeId = itemTypeId;
        }

        public String getCardNumber() {
            return cardNumber;
        }

        public void setCardNumber(String cardNumber) {
            this.cardNumber = cardNumber;
        }

        public int getUsedCount() {
            return usedCount;
        }

        public void setUsedCount(int usedCount) {
            this.usedCount = usedCount;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public int getUserWalletId() {
            return userWalletId;
        }

        public void setUserWalletId(int userWalletId) {
            this.userWalletId = userWalletId;
        }

        public boolean isPicked() {
            return isPicked;
        }

        public void setPicked(boolean picked) {
            isPicked = picked;
        }
    }

    public static class CycleCardListBean implements Serializable {
        /**
         * itemType : cards
         * cycleCardId : 145
         * subItemType : cycleCard
         * cardName : 周期卡组
         * description : 周期卡描述
         * totalCount : 2
         * serviceName : 钣金1
         * userId : 1069
         * createTime : 1489542362421
         * price : 18.0
         * storeServiceId : 2226
         * startTime : 1489542362421
         * endTime : 1489617460533
         * itemTypeId : 145
         * cardNumber : CRDT201703150946024212015
         * usedCount : 0
         * status : normal
         */

        private String itemType;
        private int cycleCardId;
        private String subItemType;
        private String cardName;
        private String description;
        private int totalCount;
        private String serviceName;
        private int userId;
        private long createTime;
        private double price;
        private int storeServiceId;
        private long startTime;
        private long endTime;
        private String itemTypeId;
        private String cardNumber;
        private int usedCount;
        private String status;
        private int userWalletId;
        private boolean isPicked;

        public String getItemType() {
            return itemType;
        }

        public void setItemType(String itemType) {
            this.itemType = itemType;
        }

        public int getCycleCardId() {
            return cycleCardId;
        }

        public void setCycleCardId(int cycleCardId) {
            this.cycleCardId = cycleCardId;
        }

        public String getSubItemType() {
            return subItemType;
        }

        public void setSubItemType(String subItemType) {
            this.subItemType = subItemType;
        }

        public String getCardName() {
            return cardName;
        }

        public void setCardName(String cardName) {
            this.cardName = cardName;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public int getTotalCount() {
            return totalCount;
        }

        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }

        public String getServiceName() {
            return serviceName;
        }

        public void setServiceName(String serviceName) {
            this.serviceName = serviceName;
        }

        public int getUserId() {
            return userId;
        }

        public void setUserId(int userId) {
            this.userId = userId;
        }

        public long getCreateTime() {
            return createTime;
        }

        public void setCreateTime(long createTime) {
            this.createTime = createTime;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getStoreServiceId() {
            return storeServiceId;
        }

        public void setStoreServiceId(int storeServiceId) {
            this.storeServiceId = storeServiceId;
        }

        public long getStartTime() {
            return startTime;
        }

        public void setStartTime(long startTime) {
            this.startTime = startTime;
        }

        public long getEndTime() {
            return endTime;
        }

        public void setEndTime(long endTime) {
            this.endTime = endTime;
        }

        public String getItemTypeId() {
            return itemTypeId;
        }

        public void setItemTypeId(String itemTypeId) {
            this.itemTypeId = itemTypeId;
        }

        public String getCardNumber() {
            return cardNumber;
        }

        public void setCardNumber(String cardNumber) {
            this.cardNumber = cardNumber;
        }

        public int getUsedCount() {
            return usedCount;
        }

        public void setUsedCount(int usedCount) {
            this.usedCount = usedCount;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public boolean isPicked() {
            return isPicked;
        }

        public int getUserWalletId() {
            return userWalletId;
        }

        public void setUserWalletId(int userWalletId) {
            this.userWalletId = userWalletId;
        }

        public void setPicked(boolean picked) {
            isPicked = picked;
        }
    }

    public static class CouponsListBean implements Serializable {
        /**
         * createUserId : 1049
         * disCount : 0.1
         * couponsId : 107
         * description : 没有描述
         * couponsCode : YHQDI201703141706014244198
         * serviceName : 服务名称
         * couponsName : 现金券
         * denomination : 0
         * userWalletId : 555
         * createTime : 1489482361424
         * storeServiceId : 0
         * endTime : 1489542348518
         * couponsGroupId : 131
         * minimum : 10
         * status : normal
         * couponsType : discountVoucher
         */

        private int createUserId;
        private double disCount;
        private int couponsId;
        private String description;
        private String couponsCode;
        private String serviceName;
        private String couponsName;
        private int denomination;
        private int userWalletId;
        private long createTime;
        private int storeServiceId;
        private long endTime;
        private int couponsGroupId;
        private int minimum;
        private String status;
        private String couponsType;
        private boolean isPicked;

        public int getCreateUserId() {
            return createUserId;
        }

        public void setCreateUserId(int createUserId) {
            this.createUserId = createUserId;
        }

        public double getDisCount() {
            return disCount;
        }

        public void setDisCount(double disCount) {
            this.disCount = disCount;
        }

        public int getCouponsId() {
            return couponsId;
        }

        public void setCouponsId(int couponsId) {
            this.couponsId = couponsId;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getCouponsCode() {
            return couponsCode;
        }

        public void setCouponsCode(String couponsCode) {
            this.couponsCode = couponsCode;
        }

        public String getServiceName() {
            return serviceName;
        }

        public void setServiceName(String serviceName) {
            this.serviceName = serviceName;
        }

        public String getCouponsName() {
            return couponsName;
        }

        public void setCouponsName(String couponsName) {
            this.couponsName = couponsName;
        }

        public int getDenomination() {
            return denomination;
        }

        public void setDenomination(int denomination) {
            this.denomination = denomination;
        }

        public int getUserWalletId() {
            return userWalletId;
        }

        public void setUserWalletId(int userWalletId) {
            this.userWalletId = userWalletId;
        }

        public long getCreateTime() {
            return createTime;
        }

        public void setCreateTime(long createTime) {
            this.createTime = createTime;
        }

        public int getStoreServiceId() {
            return storeServiceId;
        }

        public void setStoreServiceId(int storeServiceId) {
            this.storeServiceId = storeServiceId;
        }

        public long getEndTime() {
            return endTime;
        }

        public void setEndTime(long endTime) {
            this.endTime = endTime;
        }

        public int getCouponsGroupId() {
            return couponsGroupId;
        }

        public void setCouponsGroupId(int couponsGroupId) {
            this.couponsGroupId = couponsGroupId;
        }

        public int getMinimum() {
            return minimum;
        }

        public void setMinimum(int minimum) {
            this.minimum = minimum;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public String getCouponsType() {
            return couponsType;
        }

        public void setCouponsType(String couponsType) {
            this.couponsType = couponsType;
        }

        public boolean isPicked() {
            return isPicked;
        }

        public void setPicked(boolean picked) {
            isPicked = picked;
        }

        @Override
        public String toString() {
            return "CouponsListBean{" +
                    "createUserId=" + createUserId +
                    ", disCount=" + disCount +
                    ", couponsId=" + couponsId +
                    ", description='" + description + '\'' +
                    ", couponsCode='" + couponsCode + '\'' +
                    ", serviceName='" + serviceName + '\'' +
                    ", couponsName='" + couponsName + '\'' +
                    ", denomination=" + denomination +
                    ", userWalletId=" + userWalletId +
                    ", createTime=" + createTime +
                    ", storeServiceId=" + storeServiceId +
                    ", endTime=" + endTime +
                    ", couponsGroupId=" + couponsGroupId +
                    ", minimum=" + minimum +
                    ", status='" + status + '\'' +
                    ", couponsType='" + couponsType + '\'' +
                    '}';
        }
    }

    @Override
    public String toString() {
        return "PrePayBalancePaymentModel{" +
                "cardAmount=" + cardAmount +
                ", payedDepositAmount=" + payedDepositAmount +
                ", totalPrice=" + totalPrice +
                ", storeBalance=" + storeBalance +
                ", allCoupons=" + allCoupons +
                ", userOrderId=" + userOrderId +
                ", serviceMap=" + serviceMap +
                ", couponsAmount=" + couponsAmount +
                ", tailAmount=" + tailAmount +
                ", cash=" + cash +
                ", timeCardList=" + timeCardList +
                ", cardCoupons=" + cardCoupons +
                ", cycleCardList=" + cycleCardList +
                ", couponsList=" + couponsList +
                '}';
    }
}
